<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <!--  
        1. undefined
            未定义,不存在(意料之外)
            有以下几种情况,值为undefined
            * 变量已经声明,却没有赋值
            * 对象属性没有赋值,则默认为undefined
            * 没有返回值的函数,默认返回undefined
            * 调用函数时,应该提供的参数没提供,参数默认为undefined
    -->
    <script>
        var x;
        console.log(x);
        var obj = {};
        console.log(obj.name);
        function demo(){}
        var y = demo();
        console.log(y);
        function demo2(num){
            console.log(num);
        }
        demo2();
    </script>
    <!--  
        2. null
            意思:空
            一般情况,null都是主动赋予的
            作用:占位
            获取null的数据类型:object
    -->
    <script>
        var x = null;
        console.log(typeof x);
    </script>
    <!--  
        3. null 和undefined 的区别
            * null 是关键字,undefined不是关键字
            * null 和undefined是等价的,只是数据类型不一样
    -->
    <script>
        // var null = 10;
        // var undefined = 10;
        console.log(null == undefined);
        console.log(null === undefined);
    </script>
</body>
</html>